Fix part of #57714.
authorJonathan Blandford <jrb@redhat.com>
Mon, 30 Jul 2001 05:34:55 +0000 (05:34 +0000)
committerJonathan Blandford <jrb@src.gnome.org>
Mon, 30 Jul 2001 05:34:55 +0000 (05:34 +0000)
Mon Jul 30 01:16:02 2001  Jonathan Blandford  <jrb@redhat.com>

* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix part of
#57714.

gtk/gtktreestore.c
gtk/gtktreeview.c

index 46d58ccf7d80d22c4b6d11c0aae00fd74e167035..598391a8191d71640d5fae75c0adf57a9f12a470 100644 (file)
@@ -1097,6 +1097,7 @@ gtk_tree_store_append (GtkTreeStore *model,
 
   g_return_if_fail (GTK_IS_TREE_STORE (model));
   g_return_if_fail (iter != NULL);
+
   if (parent != NULL)
     g_return_if_fail (VALID_ITER (parent, model));
 
index 50594b51bb43d81a0aea88220e95b47f0776579f..3f89b3f012c022b64992cb96e13524161418c852 100644 (file)
@@ -7335,10 +7335,14 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
 
   if (tree_view->priv->destroy_count_func)
     {
+      GtkTreePath *child_path;
       gint child_count = 0;
+      child_path = gtk_tree_path_copy (path);
+      gtk_tree_path_append_index (child_path, 0);
       if (node->children)
        _gtk_rbtree_traverse (node->children, node->children->root, G_POST_ORDER, count_children_helper, &child_count);
-      (* tree_view->priv->destroy_count_func) (tree_view, path, child_count, tree_view->priv->destroy_count_data);
+      (* tree_view->priv->destroy_count_func) (tree_view, child_path, child_count, tree_view->priv->destroy_count_data);
+      gtk_tree_path_free (child_path);
     }
 
   if (gtk_tree_view_unref_and_check_selection_tree (tree_view, node->children))